home *** CD-ROM | disk | FTP | other *** search
/ CD Mania / CD Mania.iso / specific.inc < prev    next >
Text File  |  1994-05-01  |  19KB  |  511 lines

  1. ''
  2. '' CD Mania 3.10a specific install functions
  3. '' Copyright (c) 1993 Aristosoft, Inc.
  4. ''
  5.  
  6. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  7.  
  8. '' Set up product-specific titles, etc.
  9. SUB SetProductTitles STATIC
  10.     SetTitle "CD Mania"
  11.     WFSAPP$ = "CD Mania Event Hook"
  12. END SUB
  13.  
  14.  
  15. FUNCTION InfFile() STATIC AS STRING
  16.     InfFile = "WFS.INF"
  17. END FUNCTION
  18.  
  19.  
  20. FUNCTION MakeInstDir(D$) STATIC AS STRING
  21.  
  22.     '' If we're lucky, this will tell us where we're located
  23.     S$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
  24.  
  25.     '' If that didn't work, then try this for 2.02
  26.     IF S$ = "" THEN
  27.     S$ = GetIniKeyString(WININI$, "Sound API", "MaleVoice")
  28.     S$ = mid$(S$, 1, len(S$) - len("\VOICE3.VOI"))
  29.     END IF
  30.  
  31.     '' If that didn't work, then we'll punt with the default
  32.     IF S$ = "" THEN
  33.     S$ = D$ + ":\CDMANIA"
  34.     END IF
  35.  
  36.     '' WFSOUND.INF must be in any installed WFS product
  37.     IF EXISTS(MakePath(S$, "WFSOUND.INF")) THEN
  38.     r% = DoMsgBox("An installed copy of Wired for Sound or CD Mania was found in " + S$+ ".  Setup recommends installing this program in the same location.", "CD Mania", MB_OK)
  39.     END IF
  40.  
  41.     MakeInstDir = S$
  42. END FUNCTION
  43.  
  44.  
  45. SUB AddInfSectionNames(BASE$, TAPPS$, SOUNDS$, VOICES$, BASEINST$, TAPPSINST$, SOUNDSINST$, VOICESINST$) STATIC
  46.  
  47.     '' These are the base files we can install
  48.     AddListItem BASE$, "Base Files"
  49.     SetSymbolValue BASEINST$, GetSymbolValue(BASE$)
  50.  
  51.     '' These are the Talking Apps we can install
  52.     AddListItem TAPPS$, "CD Browser"
  53.     AddListItem TAPPS$, "Cursor Changer"
  54.     AddListItem TAPPS$, "Icon Changer"
  55.     AddListItem TAPPS$, "MediaScape Changer"
  56.     AddListItem TAPPS$, "Multimedia Jukebox"
  57.     AddListItem TAPPS$, "Multimedia Screen Saver"
  58.     AddListItem TAPPS$, "Talking Clock"
  59.     AddListItem TAPPS$, "Talking Minesweeper"
  60.     AddListItem TAPPS$, "Talking Solitaire"
  61.     AddListItem TAPPS$, "Wallpaper Changer"
  62.  
  63.     '' By default, we install all Talking Apps
  64.     SetSymbolValue TAPPSINST$, GetSymbolValue(TAPPS$)
  65.  
  66.     '' These are the sounds we can install
  67.     AddListItem SOUNDS$, "Button Sounds"
  68.     AddListItem SOUNDS$, "Funny Sounds"
  69.     AddListItem SOUNDS$, "Human Sounds"
  70.     AddListItem SOUNDS$, "Icon Sounds"
  71.     AddListItem SOUNDS$, "Phrase Sounds"
  72.  
  73.     '' By default, we install all the above
  74.     SetSymbolValue SOUNDSINST$, GetSymbolValue(SOUNDS$)
  75.  
  76.     '' Only include this file if we can find the Star Trek DLL
  77.     st$ = GetIniKeyString(MakePath(WINDIR$, "AD_PREFS.INI"), "After Dark", "Path")
  78.     IF EXISTS(MakePath(st$, "st_res\st_snd.dll")) THEN
  79.     AddListItem SOUNDSINST$, "Star Trek Stubs"
  80.     END IF
  81.  
  82.     '' ...but it's always an option
  83.     AddListItem SOUNDS$, "Star Trek Stubs"
  84.  
  85.     '' The user probably doesn't want all these on the HD by default
  86.     AddListItem SOUNDS$, "Video Samples"
  87.     AddListItem SOUNDS$, "Patterns"
  88.     AddListItem SOUNDS$, "Animal Sounds"
  89.     AddListItem SOUNDS$, "Cartoon Sounds"
  90.     AddListItem SOUNDS$, "Destructive Sounds"
  91.     AddListItem SOUNDS$, "Drums and Cymbals"
  92.     AddListItem SOUNDS$, "Equipment Sounds"
  93.     AddListItem SOUNDS$, "Job Saver Sounds"
  94.     AddListItem SOUNDS$, "Musical Sounds"
  95.     AddListItem SOUNDS$, "People Sounds"
  96.     AddListItem SOUNDS$, "Popping Sounds"
  97.     AddListItem SOUNDS$, "Illness Sounds"
  98.     AddListItem SOUNDS$, "Impact Sounds"
  99.     AddListItem SOUNDS$, "Ringing Sounds"
  100.     AddListItem SOUNDS$, "Ripping and Tearing"
  101.     AddListItem SOUNDS$, "Nuts & Bolts"
  102.     AddListItem SOUNDS$, "Sports Sounds"
  103.     AddListItem SOUNDS$, "Word Sounds"
  104.     AddListItem SOUNDS$, "Misc. Sounds"
  105.     AddListItem SOUNDS$, "Classical MIDI"
  106.     AddListItem SOUNDS$, "Jazz MIDI"
  107.     AddListItem SOUNDS$, "Misc. MIDI"
  108.     AddListItem SOUNDS$, "New Age MIDI"
  109.     AddListItem SOUNDS$, "Pleasant MIDI"
  110.     AddListItem SOUNDS$, "R & B MIDI"
  111.     AddListItem SOUNDS$, "Bach MIDI"
  112.     AddListItem SOUNDS$, "Beethoven MIDI"
  113.     AddListItem SOUNDS$, "Handel MIDI"
  114.     AddListItem SOUNDS$, "Long Classical MIDI"
  115.     AddListItem SOUNDS$, "Mozart MIDI"
  116.     AddListItem SOUNDS$, "Tchaikovsky MIDI"
  117.     AddListItem SOUNDS$, "Vivaldi MIDI"
  118.  
  119.     '' We can install all these voices and faces
  120.     AddListItem VOICES$, "Make-Your-Own Voice"
  121.  
  122.     AddListItem VOICES$, "Talking H. Simmons Face (compressed)"
  123.     AddListItem VOICES$, "Talking H. Simmons Voice (compressed)"
  124.  
  125.     '' By default, we install all the above
  126.     SetSymbolValue VOICESINST$, GetSymbolValue(VOICES$)
  127.  
  128.     AddListItem VOICES$, "Female Voice (compressed)"
  129.     AddListItem VOICES$, "Sultry Female Face"
  130.     AddListItem VOICES$, "Sultry Female Face (compressed)"
  131.     AddListItem VOICES$, "Sultry Female Voice (compressed)"
  132.  
  133.     AddListItem VOICES$, "Talking H. Simmons Face"
  134.  
  135. END SUB
  136.  
  137.  
  138. SUB RecalcPath STATIC
  139.     CursorSave% = ShowWaitCursor()
  140.     RecalcOptFiles BASEFILES
  141.     RecalcOptFiles SOUNDFILES
  142.     RecalcOptFiles TAPPFILES
  143.     RecalcOptFiles VOICEFILES
  144.     RestoreCursor CursorSave%
  145. END SUB
  146.  
  147.  
  148. SUB AddOptFiles STATIC
  149.     AddOptFilesToCopyList BASEFILES
  150.     AddOptFilesToCopyList TAPPFILES
  151.     AddOptFilesToCopyList SOUNDFILES
  152.     AddOptFilesToCopyList VOICEFILES
  153. END SUB
  154.  
  155.  
  156. SUB AddOptFilesToCopyList (ftype%) STATIC
  157.  
  158.     IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  159.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  160.     IF ftype% = BASEFILES THEN
  161.         ''Base files
  162.         l% = GetListLength(BASEINST$)
  163.         FOR i% = 1 TO l% STEP 1
  164.         AddSectionFilesToCopyList GetListItem(BASEINST$, i%), MakePath(SrcDir$, "WFS"), DEST$
  165.         NEXT i%
  166.  
  167.         '' Install default voices and faces
  168.         AddSectionFilesToCopyList "Null Face", SrcDir$, DEST$
  169.             AddSectionFilesToCopyList "Read Me", SrcDir$, DEST$
  170.  
  171.         '' Install Video for Windows runtime
  172.         AddSectionFilesToCopyList "VfW Runtime", MakePath(SrcDir$, "WFS\VFW"), SYSDIR$
  173.         AddSectionFilesToCopyList "OLE2", MakePath(SrcDir$, "WFS\VFW"), SYSDIR$
  174.         AddSectionFilesToCopyList "ACM Drivers", MakePath(SrcDir$, "WFS\VFW"), SYSDIR$
  175.         AddSectionFilesToCopyList "MPlayer", MakePath(SrcDir$, "WFS\VFW"), WINDIR$
  176.         AddSectionFilesToCopyList "AVICodecs", MakePath(SrcDir$, "WFS\VFW"), SYSDIR$
  177.         AddSectionFilesToCopyList "Indeo-ini", MakePath(SrcDir$, "WFS\VFW"), WINDIR$
  178.  
  179.         IF INSTDSOUND% OR EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
  180.         AddSpecialFileToCopyList "DSOUND Files", "DSOUND", SrcDir$, MakePath(SYSDIR$, "DSOUND.DLL")
  181.         AddSpecialFileToCopyList "DSOUND Files", "DSCPL", SrcDir$, MakePath(SYSDIR$, "DSCPL.CPL")
  182.         END IF
  183.  
  184.     ELSEIF ftype% = TAPPFILES THEN
  185.         l% = GetListLength(TAPPSINST$)
  186.         FOR i% = 1 TO l% STEP 1
  187.         AddSectionFilesToCopyList GetListItem(TAPPSINST$, i%), MakePath(SrcDir$, "WFS"), DEST$
  188.         NEXT i%
  189.  
  190.         IF StringInList("Jukebox", TAPPSINST$) THEN
  191.         AddSpecialFileToCopyList "System Files", "MMSSSCR", MakePath(SrcDir$, "WFS"), MakePath(WINDIR$, "MMSSSCR.SCR")
  192.         END IF
  193.  
  194.         ELSEIF ftype% = SOUNDFILES THEN
  195.         l% = GetListLength(SOUNDSINST$)
  196.         FOR i% = 1 TO l% STEP 1
  197.         AddSectionFilesToCopyList GetListItem(SOUNDSINST$, i%), SrcDir$, DEST$
  198.         NEXT i%
  199.  
  200.     ELSEIF ftype% = VOICEFILES THEN
  201.         l% = GetListLength(VOICESINST$)
  202.         FOR i% = 1 TO l% STEP 1
  203.         AddSectionFilesToCopyList GetListItem(VOICESINST$, i%), SrcDir$, DEST$
  204.         NEXT i%
  205.     END IF
  206.     SrcDir$ = ""
  207.     END IF
  208.  
  209. END SUB
  210.  
  211.  
  212. SUB SetDriveStatus STATIC
  213.     FITS% = 0
  214.     drive$ = MID$(DEST$, 1, 1)
  215.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  216.  
  217.     cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
  218.     cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
  219.     cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
  220.     cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
  221.  
  222.     free& = GetFreeSpaceForDrive(drive$)
  223.     IF cost& > free& THEN
  224.     FITS% = 1
  225.     END IF
  226.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  227.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  228.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  229.  
  230.     IF drive$ = WINDRIVE$ THEN
  231.     ReplaceListItem DRIVETEXT$, 4, ""
  232.     ReplaceListItem DRIVETEXT$, 5, ""
  233.     ReplaceListItem DRIVETEXT$, 6, ""
  234.     ELSE
  235.     ndrive% = ASC(ucase$(WINDRIVE$))